Oracle DG部署(RMAN方式)
1.环境介绍
hostname | ip | db_name | db_unique_name | net service name |
---|---|---|---|---|
db11 | 172.16.8.11 | orcl | orcl11 | orcl11 |
db12 | 172.16.8.12 | orcl | orcl12 | orcl12 |
2.DG部署
2.1.建立主库orcl
DBCA建立主库,修改online redo 大小为500M
2.2.主库开启归档
主库开启归档并设置强制日志 force logging
--干净的关闭数据库
SQL> shutdown immediate
--以mount模式启动
SQL> startup mount
--切换到归档模式
SQL> alter database archivelog;
--开启强制日志
SQL> alter database force logging;
--打开数据库
SQL> alter database open;
--查看归档
SQL> archive log list;
--查看是否为强制日志
SQL> select force_logging from v$database;
2.3.主库添加Standby Redo Log
--查看Redo和Standby Redo
SQL> select * from v$logfile;
--仅仅显示Online Redo,不显示Standby Redo
SQL> select * from v$log;
--新增一组大小为500M的Standby Redo,这里的group号不得与Online redo重复
SQL> alter database add standby logfile group 21 '/u01/app/oracle/oradata/orcl/standby21.log' size 500M;
SQL> alter database add standby logfile group 22 '/u01/app/oracle/oradata/orcl/standby22.log' size 500M;
SQL> alter database add standby logfile group 23 '/u01/app/oracle/oradata/orcl/standby23.log' size 500M;
SQL> alter database add standby logfile group 24 '/u01/app/oracle/oradata/orcl/standby24.log' size 500M;
2.4.从主库创建pfile文件
创建pfile文件, 默认路径为$ORACLE_HOME/dbs,此处为/u01/app/oracle/product/11.2.0/dbhome_1/dbs/,在sqlplus里执行以下命令
SQL> create pfile from spfile;
将主库的pfile复制到备库/u01/app/oracle/product/11.2.0/dbhome_1/dbs/下
cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs/
scp initorcl.ora db12:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
2.5.设置主库初始化参数
编辑/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora文件,追加
cat >> /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora << "EOF"
*.db_unique_name='orcl11'
*.fal_server='orcl12'
*.log_archive_config='dg_config=(orcl11,orcl12)'
*.log_archive_dest_1='location=use_db_recovery_file_dest valid_for=(all_logfiles, all_roles) db_unique_name=orcl11'
*.log_archive_dest_2='service=orcl12 lgwr async valid_for=(online_logfile,primary_role) db_unique_name=orcl12'
*.log_archive_dest_state_1=ENABLE
*.log_archive_dest_state_2=ENABLE
*.standby_file_management='AUTO'
*.db_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcl'
*.log_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcl'
EOF
创建新的主库spfile文件,并重新启动主库
SQL> shutdown immediate
SQL> create spfile from pfile;
SQL> startup
2.6.设置备库初始化参数
编辑/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora文件,修改备库初始化参数
cat >> /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora << "EOF"
*.db_unique_name='orcl12'
*.fal_server='orcl11'
*.log_archive_config='dg_config=(orcl11,orcl12)'
*.log_archive_dest_1='location=use_db_recovery_file_dest valid_for=(all_logfiles, all_